Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2006 2005 2004 2002 2001
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour Nigeria F1 Nigeria F2 Italy F2 Algeria F1 Tunisia F1 Tunisia F2 Tunisia F3 France F10 Spain F13 France F11 Spain F14 Italy F17 Spain F16 Iran F1 Spain F17 Iran F2 Spain F27 France F19 France F1 Portugal #1-w3 Portugal F3 France F6 France F7 Greece F2 Romania F1 France F9 Spain F13 France F10 Spain F16 Spain F24 France F14 Spain F26 Spain F28 Spain F33 France F1 Israel F3 Portugal F1 Portugal F2 Spain F9 Italy F11 Spain F16 Spain F19 Spain F20 Spain F30 Spain F32 Spain F33 Spain F35 Spain F36 Spain F1 Spain F2 France F13 Portugal F5 France F18 Spain F39 China F1 China F2 Spain F14 France F9 Senegal F1 Senegal F2 Poland F5 Poland F6 Germany F18 Portugal F7 Iran F5 Iran F6 United Arab Emirates F1 Morocco F1 Ivory Coast F1 Ivory Coast F2 Spain F7 India F1 India F2 France F7 Spain F16 Spain F17 Spain F20 Spain F21 France F8 France F9 France F12 Estonia F1 Estonia F2 Germany F12 Italy F24 Spain F33 Spain F36 Spain F37 France F3 Spain F35 Spain F36 USA F1 Spain F2 USA F2 USA F3 France F4 Spain F7 France F7 Spain F36 Brazil F33 Bolivia F4 France F20 USA F29 USA F30 USA F31 USA F1 USA F2 France F3 France F6 France F9 Qatar F3 Qatar F4 France F22 USA F30 USA F31 USA F32 USA F1 USA F2 Croatia F3 Croatia F4 Croatia F5 France F9 Romania F1 Romania F2 Italy F11 Slovenia F3 Italy F14 France F10 France F11 France F12 Poland F2 Poland F3 Geogia F1 Georgia F2 Armenia F1 Armenia F2 USA F28 USA F29 USA F30 USA F31 Iran F1 Iran F2 Iran F3 France F7 France F9 Italy F28 Spain F24 Peru F7 Peru F8 Peru F9 USA F1 USA F3 USA F5 USA F6 USA F8 Tunisia F10 Tunisia F11 Georgia F1 Georgia F2 Italy F11 Portugal F12 Tunisia F28 Azerbaijan F2 Tunisia F11 France F9 France F10 France F11 Spain F19 France F2 France F3 Spain F5 Spain F7 Spain F8 Morocco F1 Spain F9 Morocco F2 Spain F12 Lebanon F1 Spain F19 Spain F20 Italy F18 M25 Porto M25 Bakio M25 Loule Poland F9 Italy F23 Spain F8 Spain F19 Spain F34 Spain F35 Guzzini Challenger - Recanati XXXIV Edizione 'A. Savoldi-Marco Co.' Trofeo Dimmidisi - Manerbio Sail Open - New Delhi San Remo Tennis Cup - San Remo Riviera de Rimini Challenger - Rimini Marrakech Challenger St. Brieuc Challenger Rome Challenger Turin Challenger Pozoblanco Challenger Tampere Challenger Geneva Challenger Como Challenger Banja Luka Challenger Todi Challenger Rijeka Challenger Seoul Challenger Cancun Challenger Mouilleron-Le-Captif Challenger Andria Challenger San Luis Potosi Challenger Bucaramanga Challenger Leon Challenger Heilbronn Challenger Recanati Challenger Portoroz Challenger Casablanca Challenger Pune Challenger Andria Challenger Samarkand Challenger France F7 Ningboo Challenger Suzhou Challenger Mexico City Challenger Guadalajara Challenger Leon Challenger Ilkley Challenger Segovia Challenger Cassis Challenger Calgary Challenger Andria Challenger Quimper Challenger Great Britain F5 USA F3 Italy F8 Italy F7 France F10 Poland F2 San Luis Potosi Challenger Poland F4 France F9 Italy F20 Puerto Vallarta Challenger Spain F21 Recanati Challenger Winnetka Challenger Mallorca Challenger Orleans Challenger Mouilleron-Le-Captif Challenger Ismaning Challenger Houston Challenger Ostrava Challenger Iasi Challenger Sibiu Challenger Biella 4 Challenger Salinas Challenger Almaty 1 Challenger Pozoblanco Challenger Puerto Vallarta Challenger Biel Challenger Morelos Challenger Tunis Challenger Little Rock Challenger Poland F4 Spain F22 France F14 Portugal F3 Spain F23 France F6 Great Britain F5 Spain F25 Spain F26 France F20 Spain F17 Spain F18 Portugal #1-w1 Portugal #1-w2 Portugal #1-w4 Portugal F1 Spain F5 Romania F2 Romania F3 Romania F4 Spain F12 Spain F14 Lebanon F2 Iran F1 Spain F31 Iran F2 Spain F21 Spain F22 Spain F23 France F13 France F16 Spain F27 Spain F32 Tunisia F4 Tunisia F5 Tunisia F6 Spain F4 France F3 Italy F1 Italy F2 Israel F2 Italy F3 Spain F14 Spain F15 Poland F8 Spain F4 Spain F6 Spain F10 Portugal F8 Netherlands F1 Tunisia F10 Great Britain F6 Netherlands F3 Israel F1 Croatia F5 France F20 France F13 Sao Paulo Challenger Leon Challenger Segovia Challenger Leon Challenger Internationaux de Nouvelle-Caledonie - New Caledonia Recanati Challenger Recanati Challenger Napoli Challenger Thailand Open - Bangkok AIG Japan Open Tennis Championships - Tokyo Grand Prix de Tennis de Lyon - Lyon Morocco Tennis Tour - Marrakech Allianz Suisse Open - Gstaad Dutch Open Tennis - Amersfoort LTA Shrewsbury Challenger - Shrewsbury Grand Prix de Tennis de Lyon - Lyon ITG Miami Challenger - Miami Open de Tenis Comunidad Valenciana - Valencia AT&T Challenger of Dallas - Dallas South African Airways Open - East London Mercedes Cup - Stuttgart Binghamton Challenger Grand Prix de Tennis de Lyon - Lyon Estoril Open - Estoril Rijeka Open - Rijeka III Challenger Isla de Gran Canaria Ciudad de Telde - Telde Chennai Open - Chennai SA Tennis Open - Johannesburg Grand Prix Hassan II - Casablanca Morocco Tennis Tour - Marrakech Atlanta Tennis Championships - Atlanta Countrywide Classic - Los Angeles Legg Mason Tennis Classic - Washington Open Diputacion Ciudad de Pozoblanco - Cordoba Estoril Open - Estoril Open de Nice Cote d'Azur - Nice Open 13 - Marseille Grand Prix Hassan II - Casablanca Open de Nice Cote d'Azur - Nice SkiStar Swedish Open - Bastad Studena Croatia Open - Umag Aircel Chennai Open - Chennai Dubai Duty Free Tennis Championships - Dubai Open de Nice Cote d'Azur - Nice Abierto Mexicano Telcel - Acapulco TEB BNP Paribas Istanbul Open - Istanbul Topshelf Open - 's-Hertogenbosch Memphis Open - Memphis Abierto Mexicano Telcel - Acapulco Barcelona Open BancSabadell - Barcelona Ecuador Open - Quito TEB BNP Paribas Istanbul Open - Istanbul Hall of Fame Tennis Championships - Newport Guayaquil Challenger Ford Tennis Championships - Louisville Suisse Open - Gstaad Chengdu Open - Chengdu Ecuador Open - Quito New York Open - New York Marbella Challenger Monza Challenger San Remo Challenger Swiss Open - Gstaad Delhi Challenger I - New Delhi Recanati Challenger Open Sud de France - Montpellier Vigo Challenger Manerbio Challenger Delray Beach Open - Delray Beach Ljubljana Challenger Abierto Mexicano Telcel - Acapulco Napoli Challenger Grand Prix Hassan II - Marrakech Portoroz Challenger Mercedes Cup - Stuttgart Florionapolis Challenger Medellin Challenger Moselle Open - Metz Rabat Challenger San Remo Challenger Alessandria Challenger Rome Challenger Reggio Emilia Challenger Fairfield Challenger Cordenons Challenger Las Vegas Challenger Segovia Challenger Brasilia Challenger Salvador Challenger Banja Luka Challenger Playford Challenger Stockholm Open - Stockholm Azerbaijan F3 Cali Challenger Quito Challenger Tashkent Challenger Sao Paulo Challenger Kazan Challenger Casablanca Challenger Campinas Challenger Recanati Challenger Oberstaufen Challenger Noumea Challenger Vicenza Challenger Rome Challenger Tatra Banka Open 2006 - Bratislava Izmir Challenger Ostrava Challenger Furth Challenger Segovia Challenger Genova Challenger Kenitra Challenger Indore Challenger Manerbio Challenger Manchester Challenger Knoxville Challenger Memorial Piertomaso Tessitore - San Remo Ilkley Challenger San Benedetto Challenger Prague Challenger Noumea Challenger Cherbourg Challenger Panama City Challenger Open Mutouest - St. Brieuc Ambato Challenger Ciudad de Pozoblanco 'Open Diputacion' - Cordoba IX Torneo Internacionale de Tennis - Barletta Trofeo Internacional Club Laieta - Barcelona Ciudad de Pozoblanco Open Diputacion - Cordoba Open de Montauban - Montauban Arroyo de la Encomienda - Valladolid LXV Concurso Internacional Vigo - Vigo Genoa Open Challenger-Fondazione Carige - Genova Samsung Securities Cup - Seoul Media Will Cup Busan Challenger Tennis - Busan Bauer Watertechnology Cup - Eckental Intersport Heilbronn Open - Heilbronn Challenger 42 - Andrezieux Open Mutouest St. Brieuc - St. Brieuc Isla de Lanzarote - Lanzarote Ciudad de Telde - Telde San Remo Tennis Cup-16° Piertomaso Tessitore - San Remo 5° Sporting Challenger - Turin Schickendanz Open - Furth Steelers Cup - Kosice 12° Tornea B. Camparini Arpa Ceramic Cup - Reggio Emilia Open de Montauban - Montauban Ciudad de Pozoblanco Open Diputacion - Cordoba Trofeo Sisma Mantova - Mantova Riviera di Rimini Challenger - Rimini ATP Guzzini Challenger - Recanati Open Castilla y Leon - Segovia 8° Trani Cup - Trani San Marino Cepu Open - San Marino Concurso Internacional de Vigo - Vigo Citta di Como - Como Black Forest Open - Freudenstadt Dusseldorf Open 2006 - Dusseldorf Genoa Open - Genova Challenger Copa Sevilla - Seville Internationaux de Nouvelle-Caledonie - New Caledonia San Luis Potosi Challenger South African Airways Tennis Open - Durban Isla de Lanzarote - Lanzarote Roma Challenger 2007 - Rome Isla de Gran Canaria - Mas Palomas Croatia Osiguranje Rijeka Open - Rijeka San Remo Tennis Cup - San Remo Schickedanz Open 2007 - Furth Polska Energia Open - Bytom Nord LB Open 2007 - Braunschweig La Rinascente Tennis Cup Harbour Club Milano - Milan Arpa Ceramic Cup - Reggio Emilia Ciudad de Pozoblanco Open Diputacion - Cordoba Oberstaufen Cup - Oberstaufen Open Castilla y Leon - Segovia 9° Trani Cup - Trani Akbank Private Banking TED Open - Istanbul San Marino Cepu Open - San Marino Open Costa Daurada - Tarragona Copa Petrobras Uruguay - Montevideo Challenger Ciudad de Guayaquil - Guayaquil IPP Open - Helsinki Challenger de Providencia-Copa Kia - Santiago Bancolombia Open - Bogota Open Prevadies St. Brieuc Cotes D'Amor - St. Brieuc 1° Torneo Challenger Series 12° Trofeo Paolo Corazzi - Cremona Izmir Cup - Izmir Surbiton Challenger Memorial A. Manfredini Sassuolo Challenger - Sassuolo Sporting Challenger '08-Trofeo Regione Piemonte - Turin Medjurgorje Open - Medjugorje LXVII Concurso Internacional de Tenis Cidade de Vigo - Vigo Black Forest Open - Freudenstadt Genova Open Challenger - Genova 2nd Campionati Internazionali di Tennis Del'Umbria - Todi Tennislife Cup - Napoli Music City Challenger - Nashville Caversham International Tennis Tournament - Jersey IPP Open - Helsinki Tenerife Challenger Cleveland Challenger Morelos Challenger Tennis Masters Series - Monte Carlo Monterrey Challenger Tennis Masters Series - Monte Carlo Kosice Challenger Guayaquil Challenger Masters Series Monte Carlo - Monte Carlo Cancun Challenger Lisbon Challenger BNP Paribas Masters - Paris Masters Series Monte-Carlo - Monte Carlo Masters Series Monte-Carlo - Monte-Carlo Puebla Challenger Potchefstroom 1 Challenger Potchefstroom 2 Challenger Gran Canaria 1 Challenger Quimper Challenger Monte-Carlo Rolex Masters - Monte-Carlo Caltanissetta Challenger Monza Challenger Recife Challenger Blumenau Challenger Sao Paulo Challenger Prostejov Challenger Milan Challenger Monte-Carlo Rolex Masters - Monte-Carlo Turin Challenger Pozoblanco Challenger Orbetello Challenger Penza Challenger Segovia Challenger San Marino Challenger Samarkand Challenger Cordenons Challenger Monte-Carlo Rolex Masters - Monte-Carlo Karshi Challenger Kazan Challenger Manerbio Challenger Como Challenger Genova Challenger Seville Challenger Todi Challenger Madrid Challenger Recife Challenger Orleans Challenger Quito Challenger Meknes Challenger Noumea Challenger Heilbronn Challenger Kazan Challenger BNP Paribas Open - Indian Wells Meknes Challenger Casablanca Challenger Monte-Carlo Rolex Masters - Monte-Carlo Guadalajara Challenger Rabat Challenger Marrakech Challenger Monte-Carlo Rolex Masters - Monte-Carlo Rome Challenger Prostejov Challenger Monza Challenger Nottingham-2 Challenger Milan Challenger Marbella Challenger Wuhan Challenger Pozoblanco Challenger Caltanissetta Challenger St. Remy Challenger Istanbul Challenger Almaty 2 Challenger Madrid Challenger Jersey Challenger Loughborough Challenger Cherbourg Challenger Sarajevo Challenger Leon Challenger Tunis Challenger Prague 2 Challenger Luedenscheid Challenger Caltanissetta Challenger Warsaw Challenger Blois Challenger BNP Paribas Open - Indian Wells Portoroz Challenger Istanbul Challenger Miami Open - Miami Recanati Challenger Monza Challenger Guimaraes Challenger Johannesburg Challenger Sarasota Challenger St. Remy Challenger BNP Paribas Open - Indian Wells Orleans Challenger Noumea Challenger Chennai Challenger Alicante Challenger Kolkata Challenger Rennes Challenger Tunis Challenger Vicenza Challenger Prostejov Challenger Ostrava Challenger Granby Challenger Cordenons Challenger Como Challenger Seville Challenger Biella Challenger Meknes Challenger Tashkent Challenger Pune Challenger New Delhi Challenger Guadalajara Challenger Noumea Challenger Santo Domingo Challenger Vercelli Challenger Morelos Challenger San Luis Potosi Challenger Leon Challenger Guadalajara Challenger Vercelli Challenger Karshi Challenger Astana Challenger Caltanissetta Challenger Ilkley Challenger Prague Challenger Padova Challenger Todi Challenger Ljubljana Challenger Biella Challenger Segovia Challenger Cordenons Challenger Portoroz Challenger Tashkent Challenger Genova Challenger Seville Challenger Sarasota Challenger Istanbul Challenger Samarkand Challenger Kenitra Challenger Ho Chi Minh City Challenger Bangalore Challenger Milan Challenger Trnava Challenger Pune Challenger Noumea Challenger Bangkok Challenger Morelos Challenger Hua Hin Challenger Guadalajara Challenger Manila Challenger Lyon Challenger Aguascalientes Challenger Brest Challenger Surbiton Challenger Cali Challenger Karshi Challenger Tunis Challenger Ilkley Challenger Prague 3 Challenger Mallorca Challenger Portoroz Challenger St. Remy Challenger Istanbul Challenger Izmir Challenger Anning Challenger Ortisei Challenger Puebla Challenger Guadalajara Challenger Puerto Vallarta Challenger San Luis Potosi Challenger Nottingham Challenger Pozoblanco Challenger Monterrey Challenger Leon Challenger Segovia Challenger Seville Challenger Quimper Challenger San Luis Potosi Challenger Guadalajara Challenger Gran Canaria 2 Challenger Lugano Challenger Segovia Challenger Cherbourg Challenger Marbella Challenger Pune Challenger Istanbul Challenger Alicante Challenger Indian Wells Challenger Kazan Challenger Ciudad de Pozoblanco 'Open Diputacion' - Cordoba Quito Challenger Lima Challenger Bangalore Challenger Istanbul Challenger Forli 4 Challenger Rennes Challenger Bergamo Challenger Salinas 2 Challenger Milan Challenger San Luis Potosi Challenger Bogota Challenger Pozoblanco Challenger Morocco Tennis Tour - Rabat Segovia Challenger Grand Prix Hassan II - Casablanca Open 13 - Marseille Open Sabadell Atlantico - Barcelona Open Sud de France - Montpellier Delray Beach International Tennis Championships - Delray Beach Open Sud de France - Montpellier Open 13 - Marseille Ecuador Open - Quito U.S. National Indoor Tennis Championships - Memphis French Open - Paris Hall of Fame Tennis Championships - Newport Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris New York Open - New York U.S. Open - New York Australian Open - Melbourne BMW Open - Munich Kremlin Cup - Moscow French Open - Paris Wimbledon - London U.S. Open - New York Medibank International - Sydney Rakuten Japan Open - Tokyo Australian Open - Melbourne Maharashtra Open - Pune French Open - Paris Delray Beach Open - Delray Beach Marbella Challenger Ilkley Challenger Hamburg Challenger Orlando Challenger Claro Open Colombia - Bogota Wimbledon - London BB&T Atlanta Open - Atlanta Open 13 - Marseille Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrilena Masters Madrid - Madrid Monte-Carlo Rolex Masters - Monte-Carlo Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo U.S. Open - New York Open Sabadell Atlantico - Barcelona St. Petersburg Open - St. Petersburg Mutua Madrid Open - Madrid BNP Paribas Open - Indian Wells U.S. Open - New York French Open - Paris Wimbledon - London Davis Cup, Group I, PO, MON-POR 2-3 U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Wimbledon - London U.S. Open - New York Australian Open - Melbourne Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York French Open - Paris Australian Open - Melbourne Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Davis Cup, Group 2, PO, NOR-MON 4-1 Davis Cup, Group 2, 1R, MON-ALG 5-0 Davis Cup, Group 2, 1R, BUL-MON 3-2 Davis Cup, Europe/Africa Group II, PO, MON-NOR 5-0 Davis Cup, Group II, PO, GRE-MON 2-3 Davis Cup, Group II, 1R, MON-BLR 3-1 Davis Cup, Group II, 2R, MON-LAT 2-3 Davis Cup, Group II, 1R, RSA-MON 3-2 Davis Cup, Group II, PO, NOR-MON 0-5 Davis Cup, Group II, PO, MON-MAR 3-1 Davis Cup, Group II, PO, MON-EGY 3-1 Davis Cup, Group 2, 2R, HUN-MON 1-4 Davis Cup, Group 2, 2R, MON-GRE 3-2 Davis Cup, Group 2, 2R, MON-ALG 5-0 Davis Cup, Group 2, 1R, MON-MNE 5-0 Davis Cup, Group 2, 2R, FIN-MON 3-2 Davis Cup, Group II, 1R, DEN-MON 3-2 Davis Cup, Group II, 1R, UKR-MON 5-0 Davis Cup, Group II, PO, MAR-MON 2-3 Davis Cup, Group II, 1R, MON-FIN 2-3 Davis Cup, Group II, 1R, LAT-MON 3-2 Davis Cup, World Group II, 1R, MAR-MON 0-4 All Lower level tournaments